A simple Fireworks integration example

The following command asks Fireworks to prompt the user for her name, and then returns the name to Dreamweaver.

<html><head><title>Prompt in Fireworks</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script>
function commandButtons(){
  return new Array("Prompt", "promptInFireworks()", "Cancel", "readyToCancel()", "Close","window.close()");
}

var gCancelClicked = false;
var gProgressTrackerCookie = null;

function readyToCancel() {
  gCancelClicked = true;
}

function promptInFireworks() {
  var isFireworks3 = FWLaunch.validateFireworks(3.0);
  if (!isFireworks3) {
    alert("You must have Fireworks 3.0 or later to use this command");
    return;
  }

  // Tell Fireworks to execute the prompt() method.
  gProgressTrackerCookie = FWLaunch.execJsInFireworks("prompt('Please enter your name:')");

  // null means it wasn't launched, a number means an error code
  if (gProgressTrackerCookie == null || typeof(gProgressTrackerCookie) == "number") {
    window.close();
    alert("an error occurred");
    gProgressTrackerCookie = null;
  } else {
    // bring Fireworks to the front
    FWLaunch.bringFWToFront();
    // start the checking to see if Fireworks is done yet
    checkOneMoreTime();
  }
}

function checkOneMoreTime() {
  // Call checkJsResponse() every 1/2 second to see if Fireworks is done yet
  window.setTimeout("checkJsResponse();", 500);
}

function checkJsResponse() {
  var response = null;

  // The user clicked the cancel button, close the window
  if (gCancelClicked) {
    window.close();
    alert("cancel clicked");
  } else {
    // We're still going, ask Fireworks how it's doing
    if (gProgressTrackerCookie != null)
      response = FWLaunch.getJsResponse(gProgressTrackerCookie);

     if (response == null) {
       // still waiting for a response, call us again in 1/2 a second
      checkOneMoreTime();
     } else if (typeof(response) == "number") {
       // if the response was a number, it means an error occurred 
      // the user cancelled in Fireworks
      window.close();
      alert("an error occurred.");

     } else {
       // got a valid response!  This return value might not always be a 
      // useful one, since not all functions in Fireworks return a string,
      // but we know this one does, so we can show the user what we got.
      window.close();
      FWLaunch.bringDWToFront();  // bring Dreamweaver to the front
      alert("Nice to meet you, " + response + "!");
     }
  }
}

</script></head><body><form><table width="313" nowrap><tr><td>This command asks Fireworks to execute the prompt() function.
When you click Prompt, Fireworks comes forward and asks you to 
enter a value into a dialog box. That value is then returned to 
Dreamweaver and displayed in an alert.</td></tr></table></form></body></html>